iT邦幫忙

0

Day25 | 遊戲開發(四)

  • 分享至 

  • xImage
  •  

在前面的單元中,我們完成了遊戲視窗框架以及頂部的標題面板。今天我們要進入這個專案最核心的部分——在 3x3 網格面板中放入互動按鈕,並初始化遊戲狀態變數。


  • 宣告遊戲核心狀態與按鈕二維陣列
    為了追蹤整盤棋局的狀態以及輪到哪位玩家,我們在類別中宣告了以下變數:
JButton[][] board = new JButton[3][3]; // 宣告 3x3 的按鈕二維陣列,用來儲存與管理 9 個格子
String playerX = "X";                  // 玩家 X
String playerO = "O";                  // 玩家 O
String currentPlayer = playerX;        // 紀錄目前的回合是誰(預設由 X 先開始)
  • 透過巢狀迴圈建立 9 個按鈕並加入棋盤
    在建構子 TicTacToe() 中,我們利用雙層 for 迴圈(Row 與 Column),一口氣建立 9 個按鈕,並為它們設定好外觀樣式:
for (int r = 0; r < 3; r++){
    for (int c = 0; c < 3; c++){
        JButton tile = new JButton();  // 1. 建立單一按鈕(格子)
        board[r][c] = tile;            // 2. 將按鈕存入二維陣列中對應的位置
        boardPanel.add(tile);          // 3. 將按鈕加入 3x3 的網格面板中

        // 設定按鈕的視覺外觀與互動屬性
        tile.setBackground(Color.darkGray);                     // 按鈕背景色(深灰)
        tile.setForeground(Color.white);                        // 文字顏色(白色)
        tile.setFont(new Font("Arial", Font.BOLD, 120));          // 字型設為 Arial、粗體、字級 120(讓 X 或 O 顯示得夠大)
        tile.setFocusable(false);                               // 取消按鈕的焦點框線,讓外觀更清爽
    }
}
  • 跑出來長這樣:
    https://ithelp.ithome.com.tw/upload/images/20261017/20184397BAQDJQsbo4.png

  • 參考教學影片:https://youtu.be/Nc77ymnm8Ss?si=MXYrFHchbvXcpGr8


*提醒邦友,使用第三方服務/API 時,請務必評估資安風險與隱私保護
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言